The R markdown is available from the pulldown menu for Code at the upper-right, choose “Download Rmd”, or download the Rmd from GitHub.


This vignette will show how to perform basic network operations on an iGraph networks and use this information to customize its appearance in Cytoscape directly from R using the RCy3 package

*From Vessy’s “Fun with R blog”: http://www.vesnam.com/Rblog/viznets5/

Required Software

The whole point of RCy3 is to connect with Cytoscape. You will need to install and launch Cytoscape:

Read a data set.

Data format: dataframe with 3 variables; variables 1 & 2 correspond to interactions; variable 3 is weight of interaction

Create a graph. Use simplify to ensure that there are no duplicated edges or self loops

Verify the number of nodes (77) and edges (254):

Common iGraph functions

Calculate some node properties and node similarities that will be used to illustrate different plotting abilities

Calculate degree for all nodes

Calculate betweenness for all nodes

Calculate Dice similarities between all pairs of nodes

Lets check it out in Cytoscape

Update: You can go straight from igraph to Cytoscape, sending all attributes and displaying graph!

Let’s decide on a layout

A list of available layouts can be accessed from R as follows:

We’ll select the “fruchterman-rheingold” layout. To see properties for the given layout, use:

We can choose any property we want and provide them as a space-delimited string:

But that is a crazy layout, so let’s try “force-directed” instead:

Track versions for your records

LS0tCnRpdGxlOiAiTmV0d29yayBmdW5jdGlvbnMgYW5kIHZpc3VhbGl6YXRpb24iCmF1dGhvcjogImJ5IEFsZXhhbmRlciBQaWNvIgpwYWNrYWdlOiBSQ3kzCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2ZvbGRpbmc6ICJub25lIgojICBwZGZfZG9jdW1lbnQ6CiMgICAgdG9jOiB0cnVlIAp2aWduZXR0ZTogPgogICAgJVxWaWduZXR0ZUluZGV4RW50cnl7MDUuIE5ldHdvcmsgZnVuY3Rpb25zIGFuZCB2aXN1YWxpemF0aW9uIH4xNSBtaW59CiAgICAlXFZpZ25ldHRlRW5naW5le2tuaXRyOjpybWFya2Rvd259CiAgICAlXFZpZ25ldHRlRW5jb2Rpbmd7VVRGLTh9Ci0tLQpgYGB7ciwgZWNobyA9IEZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoCiAgZXZhbD1GQUxTRQopCmBgYAoqVGhlIFIgbWFya2Rvd24gaXMgYXZhaWxhYmxlIGZyb20gdGhlIHB1bGxkb3duIG1lbnUgZm9yKiBDb2RlICphdCB0aGUgdXBwZXItcmlnaHQsIGNob29zZSAiRG93bmxvYWQgUm1kIiwgb3IgW2Rvd25sb2FkIHRoZSBSbWQgZnJvbSBHaXRIdWJdKGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jeXRvc2NhcGUvY3l0b3NjYXBlLWF1dG9tYXRpb24vbWFzdGVyL2Zvci1zY3JpcHRlcnMvUi9ub3RlYm9va3MvTmV0d29yay1mdW5jdGlvbnMtYW5kLXZpc3VhbGl6YXRpb24uUm1kKS4qCgo8aHIgLz4KClRoaXMgdmlnbmV0dGUgd2lsbCBzaG93IGhvdyB0byBwZXJmb3JtIGJhc2ljIG5ldHdvcmsgb3BlcmF0aW9ucyBvbiBhbiBpR3JhcGgKbmV0d29ya3MgYW5kIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGN1c3RvbWl6ZSBpdHMgYXBwZWFyYW5jZSBpbiBDeXRvc2NhcGUgCmRpcmVjdGx5IGZyb20gUiB1c2luZyB0aGUgUkN5MyBwYWNrYWdlCgoqRnJvbSBWZXNzeSdzICJGdW4gd2l0aCBSIGJsb2ciOiBodHRwOi8vd3d3LnZlc25hbS5jb20vUmJsb2cvdml6bmV0czUvCgojIEluc3RhbGxhdGlvbgpgYGB7cn0KaWYoISJSQ3kzIiAlaW4lIGluc3RhbGxlZC5wYWNrYWdlcygpKXsKICAgIGluc3RhbGwucGFja2FnZXMoIkJpb2NNYW5hZ2VyIikKICAgIEJpb2NNYW5hZ2VyOjppbnN0YWxsKCJSQ3kzIikKfQpsaWJyYXJ5KFJDeTMpCmlmKCEiaWdyYXBoIiAlaW4lIGluc3RhbGxlZC5wYWNrYWdlcygpKXsKICAgIGluc3RhbGwucGFja2FnZXMoImlncmFwaCIpCn0KbGlicmFyeShpZ3JhcGgpCmlmKCEicGx5ciIgJWluJSBpbnN0YWxsZWQucGFja2FnZXMoKSl7CiAgICBpbnN0YWxsLnBhY2thZ2VzKCJwbHlyIikKfQpsaWJyYXJ5KHBseXIpCmBgYAoKIyBSZXF1aXJlZCBTb2Z0d2FyZQpUaGUgd2hvbGUgcG9pbnQgb2YgUkN5MyBpcyB0byBjb25uZWN0IHdpdGggQ3l0b3NjYXBlLiBZb3Ugd2lsbCBuZWVkIHRvIGluc3RhbGwgYW5kIGxhdW5jaCBDeXRvc2NhcGU6IAogICAgCiogRG93bmxvYWQgdGhlIGxhdGVzdCBDeXRvc2NhcGUgZnJvbSBodHRwOi8vd3d3LmN5dG9zY2FwZS5vcmcvZG93bmxvYWQucGhwCiogQ29tcGxldGUgaW5zdGFsbGF0aW9uIHdpemFyZAoqIExhdW5jaCBDeXRvc2NhcGUgCgpgYGB7cn0KY3l0b3NjYXBlUGluZygpCmBgYAoKIyBSZWFkIGEgZGF0YSBzZXQuIApEYXRhIGZvcm1hdDogZGF0YWZyYW1lIHdpdGggMyB2YXJpYWJsZXM7IHZhcmlhYmxlcyAxICYgMiBjb3JyZXNwb25kIHRvIGludGVyYWN0aW9uczsgdmFyaWFibGUgMyBpcyB3ZWlnaHQgb2YgaW50ZXJhY3Rpb24KYGBge3J9Cmxlc21pcyA8LSBzeXN0ZW0uZmlsZSgiZXh0ZGF0YSIsImxlc21pcy50eHQiLCBwYWNrYWdlPSJSQ3kzIikKZGF0YVNldCA8LSByZWFkLnRhYmxlKGxlc21pcywgaGVhZGVyID0gRkFMU0UsIHNlcCA9ICJcdCIpCmBgYAoKQ3JlYXRlIGEgZ3JhcGguIFVzZSBzaW1wbGlmeSB0byBlbnN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gZHVwbGljYXRlZCBlZGdlcyBvciBzZWxmIGxvb3BzCmBgYHtyfQpnRCA8LSBpZ3JhcGg6OnNpbXBsaWZ5KGlncmFwaDo6Z3JhcGguZGF0YS5mcmFtZShkYXRhU2V0LCBkaXJlY3RlZD1GQUxTRSkpCmBgYAoKVmVyaWZ5IHRoZSBudW1iZXIgb2Ygbm9kZXMgKDc3KSBhbmQgZWRnZXMgKDI1NCk6CmBgYHtyfQppZ3JhcGg6OnZjb3VudChnRCkKaWdyYXBoOjplY291bnQoZ0QpCmBgYAoKIyBDb21tb24gaUdyYXBoIGZ1bmN0aW9ucwpDYWxjdWxhdGUgc29tZSBub2RlIHByb3BlcnRpZXMgYW5kIG5vZGUgc2ltaWxhcml0aWVzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGlsbHVzdHJhdGUgCmRpZmZlcmVudCBwbG90dGluZyBhYmlsaXRpZXMKCkNhbGN1bGF0ZSBkZWdyZWUgZm9yIGFsbCBub2RlcwpgYGB7cn0KZGVnQWxsIDwtIGlncmFwaDo6ZGVncmVlKGdELCB2ID0gaWdyYXBoOjpWKGdEKSwgbW9kZSA9ICJhbGwiKQpgYGAKCkNhbGN1bGF0ZSBiZXR3ZWVubmVzcyBmb3IgYWxsIG5vZGVzCmBgYHtyfQpiZXRBbGwgPC0gaWdyYXBoOjpiZXR3ZWVubmVzcyhnRCwgdiA9IGlncmFwaDo6VihnRCksIGRpcmVjdGVkID0gRkFMU0UpIC8gKCgoaWdyYXBoOjp2Y291bnQoZ0QpIC0gMSkgKiAoaWdyYXBoOjp2Y291bnQoZ0QpLTIpKSAvIDIpCmJldEFsbC5ub3JtIDwtIChiZXRBbGwgLSBtaW4oYmV0QWxsKSkvKG1heChiZXRBbGwpIC0gbWluKGJldEFsbCkpCnJtKGJldEFsbCkKYGBgCgpDYWxjdWxhdGUgRGljZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiBhbGwgcGFpcnMgb2Ygbm9kZXMKYGBge3J9CmRzQWxsIDwtIGlncmFwaDo6c2ltaWxhcml0eS5kaWNlKGdELCB2aWRzID0gaWdyYXBoOjpWKGdEKSwgbW9kZSA9ICJhbGwiKQpgYGAKCiMgQWRkIGF0dHJpYnV0ZXMgdG8gbmV0d29yawpBZGQgbmV3IG5vZGUgYXR0cmlidXRlcyBiYXNlZCBvbiB0aGUgY2FsY3VsYXRlZCBub2RlIHByb3BlcnRpZXMvc2ltaWxhcml0aWVzCmBgYHtyfQpnRCA8LSBpZ3JhcGg6OnNldC52ZXJ0ZXguYXR0cmlidXRlKGdELCAiZGVncmVlIiwgaW5kZXggPSBpZ3JhcGg6OlYoZ0QpLCB2YWx1ZSA9IGRlZ0FsbCkKZ0QgPC0gaWdyYXBoOjpzZXQudmVydGV4LmF0dHJpYnV0ZShnRCwgImJldHdlZW5uZXNzIiwgaW5kZXggPSBpZ3JhcGg6OlYoZ0QpLCB2YWx1ZSA9IGJldEFsbC5ub3JtKQpgYGAKCkNoZWNrIHRoZSBhdHRyaWJ1dGVzLiBZb3Ugc2hvdWxkIHNlZSAiZGVncmVlIiBhbmQgImJldHdlZW5lc3MiIG5vdywgaW4gYWRkaXRpb24KdG8gIm5hbWUiLgpgYGB7cn0Kc3VtbWFyeShnRCkKYGBgCgpBbmQgbm93IGZvciB0aGUgZWRnZSBhdHRyaWJ1dGVzLi4uCmBgYHtyfQpGMSA8LSBmdW5jdGlvbih4KSB7ZGF0YS5mcmFtZShWNCA9IGRzQWxsW3doaWNoKGlncmFwaDo6VihnRCkkbmFtZSA9PSBhcy5jaGFyYWN0ZXIoeCRWMSkpLCB3aGljaChpZ3JhcGg6OlYoZ0QpJG5hbWUgPT0gYXMuY2hhcmFjdGVyKHgkVjIpKV0pfQpkYXRhU2V0LmV4dCA8LSBwbHlyOjpkZHBseShkYXRhU2V0LCAudmFyaWFibGVzPWMoIlYxIiwgIlYyIiwgIlYzIiksIGZ1bmN0aW9uKHgpIGRhdGEuZnJhbWUoRjEoeCkpKQoKZ0QgPC0gaWdyYXBoOjpzZXQuZWRnZS5hdHRyaWJ1dGUoZ0QsICJ3ZWlnaHQiLCBpbmRleCA9IGlncmFwaDo6RShnRCksIHZhbHVlID0gMCkKZ0QgPC0gaWdyYXBoOjpzZXQuZWRnZS5hdHRyaWJ1dGUoZ0QsICJzaW1pbGFyaXR5IiwgaW5kZXggPSBpZ3JhcGg6OkUoZ0QpLCB2YWx1ZSA9IDApCmBgYAoKKk5vdGU6IFRoZSBvcmRlciBvZiBpbnRlcmFjdGlvbnMgaW4gZGF0YVNldC5leHQgaXMgbm90IHRoZSBzYW1lIGFzIGl0IGlzIGluIGRhdGFTZXQgb3IgCmFzIGl0IGlzIGluIHRoZSBlZGdlIGxpc3QgYW5kIGZvciB0aGF0IHJlYXNvbiB0aGVzZSB2YWx1ZXMgY2Fubm90IGJlIGFzc2lnbmVkIGRpcmVjdGx5KgoKYGBge3J9CmZvciAoaSBpbiAxOm5yb3coZGF0YVNldC5leHQpKQp7CiAgICBpZ3JhcGg6OkUoZ0QpW2FzLmNoYXJhY3RlcihkYXRhU2V0LmV4dCRWMSkgJS0tJSBhcy5jaGFyYWN0ZXIoZGF0YVNldC5leHQkVjIpXSR3ZWlnaHQgPC0gYXMubnVtZXJpYyhkYXRhU2V0LmV4dCRWMykKICAgIGlncmFwaDo6RShnRClbYXMuY2hhcmFjdGVyKGRhdGFTZXQuZXh0JFYxKSAlLS0lIGFzLmNoYXJhY3RlcihkYXRhU2V0LmV4dCRWMildJHNpbWlsYXJpdHkgPC0gYXMubnVtZXJpYyhkYXRhU2V0LmV4dCRWNCkKfQpybShkYXRhU2V0LGRzQWxsLCBpLCBGMSkKYGBgCgpDaGVjayB0aGUgZWRnZSBhdHRyaWJ1dGVzLiBZb3Ugc2hvdWxkIHNlZSAid2VpZ2h0IiBhbmQgInNpbWlsYXJpdHkiIGFkZGVkLgpgYGB7cn0Kc3VtbWFyeShnRCkKYGBgCgojIExldHMgY2hlY2sgaXQgb3V0IGluIEN5dG9zY2FwZQoKKlVwZGF0ZTogWW91IGNhbiBnbyBzdHJhaWdodCBmcm9tIGlncmFwaCB0byBDeXRvc2NhcGUsIHNlbmRpbmcgYWxsIGF0dHJpYnV0ZXMgYW5kIGRpc3BsYXlpbmcgZ3JhcGghKgpgYGB7cn0KY3JlYXRlTmV0d29ya0Zyb21JZ3JhcGgoZ0QsbmV3LnRpdGxlPSdMZXMgTWlzZXJhYmxlcycpCmBgYAoKIyMgTGV0J3MgZGVjaWRlIG9uIGEgbGF5b3V0CkEgbGlzdCAgb2YgYXZhaWxhYmxlIGxheW91dHMgY2FuIGJlIGFjY2Vzc2VkIGZyb20gUiBhcyBmb2xsb3dzOgpgYGB7cn0KZ2V0TGF5b3V0TmFtZXMoKQpgYGAKCldlJ2xsIHNlbGVjdCB0aGUgImZydWNodGVybWFuLXJoZWluZ29sZCIgbGF5b3V0LiBUbyBzZWUgcHJvcGVydGllcyBmb3IgdGhlIGdpdmVuIGxheW91dCwgdXNlOgpgYGB7cn0KZ2V0TGF5b3V0UHJvcGVydHlOYW1lcygiZnJ1Y2h0ZXJtYW4tcmhlaW5nb2xkIikgCmBgYAoKV2UgY2FuIGNob29zZSBhbnkgcHJvcGVydHkgd2Ugd2FudCBhbmQgcHJvdmlkZSB0aGVtIGFzIGEgc3BhY2UtZGVsaW1pdGVkIHN0cmluZzoKYGBge3J9CmxheW91dE5ldHdvcmsoJ2ZydWNodGVybWFuLXJoZWluZ29sZCBncmF2aXR5X211bHRpcGxpZXI9MSBuSXRlcmF0aW9ucz0xMCcpCmBgYAoKQnV0IHRoYXQgaXMgYSBjcmF6eSBsYXlvdXQsIHNvIGxldCdzIHRyeSAiZm9yY2UtZGlyZWN0ZWQiIGluc3RlYWQ6CmBgYHtyfQpsYXlvdXROZXR3b3JrKCdmb3JjZS1kaXJlY3RlZCBkZWZhdWx0U3ByaW5nTGVuZ3RoPTcwIGRlZmF1bHRTcHJpbmdDb2VmZmljaWVudD0wLjAwMDAwMycpCmBgYAoKIyMgTmV4dCwgd2UgY2FuIHZpc3VhbGl6ZSBvdXIgZGF0YQoKT24gbm9kZXMuLi4KYGBge3J9CnNldE5vZGVDb2xvck1hcHBpbmcoJ2RlZ3JlZScsIGMobWluKGRlZ0FsbCksIG1lYW4oZGVnQWxsKSwgbWF4KGRlZ0FsbCkpLCBjKCcjRjVFREREJywgJyNGNTk3NzcnLCAnI0Y1NTMzMycpKQpsb2NrTm9kZURpbWVuc2lvbnMoVFJVRSkKc2V0Tm9kZVNpemVNYXBwaW5nKCdiZXR3ZWVubmVzcycsIGMobWluKGJldEFsbC5ub3JtKSwgbWVhbihiZXRBbGwubm9ybSksIG1heChiZXRBbGwubm9ybSkpLCBjKDMwLCA2MCwgMTAwKSkKYGBgCgouLi5hbmQgZWRnZXMKYGBge3J9CnNldEVkZ2VMaW5lV2lkdGhNYXBwaW5nKCd3ZWlnaHQnLCBjKG1pbihhcy5udW1lcmljKGRhdGFTZXQuZXh0JFYzKSksIG1lYW4oYXMubnVtZXJpYyhkYXRhU2V0LmV4dCRWMykpLCBtYXgoYXMubnVtZXJpYyhkYXRhU2V0LmV4dCRWMykpKSwgYygxLDMsNSkpCnNldEVkZ2VDb2xvck1hcHBpbmcoJ3dlaWdodCcsIGMobWluKGFzLm51bWVyaWMoZGF0YVNldC5leHQkVjMpKSwgbWVhbihhcy5udW1lcmljKGRhdGFTZXQuZXh0JFYzKSksIG1heChhcy5udW1lcmljKGRhdGFTZXQuZXh0JFYzKSkpLCBjKCcjQkJFRTAwJywgJyM3N0FBMDAnLCAnIzU1ODgwMCcpKQpgYGAKCldlIHdpbGwgZGVmaW5lIG91ciBvd24gZGVmYXVsdCBjb2xvci9zaXplIHNjaGVtYSBhZnRlciB3ZSBkZWZpbmVkIG5vZGUgYW5kIGVkZ2UgcnVsZXMsIGR1ZSB0byBwb3NzaWJsZSBpc3N1ZXMgd2hlbiB1c2luZyBydWxlcwpgYGB7cn0Kc2V0QmFja2dyb3VuZENvbG9yRGVmYXVsdCgnI0QzRDNEMycpCnNldE5vZGVCb3JkZXJDb2xvckRlZmF1bHQoJyMwMDAwMDAnKQpzZXROb2RlQm9yZGVyV2lkdGhEZWZhdWx0KDMpCnNldE5vZGVTaGFwZURlZmF1bHQoJ2VsbGlwc2UnKQpzZXROb2RlRm9udFNpemVEZWZhdWx0KDIwKQpzZXROb2RlTGFiZWxDb2xvckRlZmF1bHQoJyMwMDAwMDAnKQpgYGAKCjxjZW50ZXI+CiFbXShodHRwczovL2N5dG9zY2FwZS5naXRodWIuaW8vY3l0b3NjYXBlLWF1dG9tYXRpb24vZm9yLXNjcmlwdGVycy9SL25vdGVib29rcy9kYXRhL2ltZy9sZW1pcy5wbmcpe3dpZHRoPTYwJX0KPC9jZW50ZXI+CgpWb2lsYSEgQWxsIGRvbmUuCgojIFRyYWNrIHZlcnNpb25zIGZvciB5b3VyIHJlY29yZHMKYGBge3J9CmN5dG9zY2FwZVZlcnNpb25JbmZvKCkKYGBgCgpgYGB7cn0Kc2Vzc2lvbkluZm8oKQpgYGAK